Merged
Conversation
- Bump version 1.0.1 → 1.1.0 - Simplify file URL construction (single template) - Remove redundant key on code element - Add unit test: 404 shows File not found - Add unit test: Close button closes file viewer
- Add file-extension-icons module with getFileIconInfo (icon + color by extension) - Add FileIcon component (Lucide icons: FileCode, FileJson, FileText, etc.) - Use FileIcon in file-explorer, message-list, file-mention-dropdown, mention-input - Simplify file-extension-icons: single getBasename, remove duplicate exts - Simplify mention-utils: drop getFileIconType, trim FILE_EXT_REGEX - Fix file-icon: use FileJson for lucide-react@0.468, className join with filter - Add file-extension-icons.spec.ts (14 tests) and file-icon.spec.tsx (8 tests) - Bump version to 1.2.0
- Integrate mobile menu into header (Phoenix logo + menu pill) - Move close button into FileExplorer header to fix theme toggle overlap - Add closeMobileSidebar callback; normalize header indentation - Add FileExplorer unit tests for onClose (render Close when provided, none when not) - Bump version to 1.3.0
- Add isChatModelLocked() in api-url; treat 'false'/'0' as unlocked - ModelSelector: modelLocked prop shows disabled input only, no option buttons - Extract selected/unselected button class constants in ModelSelector - Unit tests: ModelSelector (visibility, locked/unlocked, onSelect, onInputChange) - Unit tests: isChatModelLocked (unset, true, 1, false, 0, other string) - Doc: .env.example and README for VITE_LOCK_CHAT_MODEL - Bump version to 1.3.1
…Chunks, spec cleanup - mention-input: use Array.from(childNodes) for iteration - add @types/prismjs - vite.config.mts: return undefined from manualChunks - layout-constants.spec: remove unused key variable - bump version to 1.3.4
- Use virtualizer.measureElement and data-index for variable-height rows - Add gap option and estimateSize for row height; minHeight allows content to grow - Bump version to 1.3.5
…v1.3.6 - Extract useScrollToBottom hook and isScrollAtBottom helper - Auto-scroll only when user at bottom or just sent; Latest button when scrolled up - Add unit tests for scroll helper and hook - Bump version 1.3.5 -> 1.3.6
- Use virtualizer.scrollToIndex for Latest button and initial load so scroll works with @tanstack/react-virtual (scrollIntoView was ineffective) - MessageList: expose scrollToBottom via ref, scroll to end on first load - ChatPage: call list scrollToBottom then hook for Latest button state - Simplify MessageList with useCallback for scrollToBottom - Add unit tests for MessageList ref and scrollToBottom - Bump version to 1.3.7
- Only update isAtBottom state when value changes (avoids re-renders on every scroll) - Add contain:paint and translateZ(0) to .chat-messages-scroll for paint isolation - Add contain:layout paint to virtual list wrapper in MessageList - Add unit tests for useScrollToBottom (onScroll at bottom / not at bottom / threshold) - Bump version 1.3.7 -> 1.3.8
- Chat port 4200 -> 3100 (vite, CORS, README, e2e, .env.example) - Theme: default to system (prefers-color-scheme), guard matchMedia for tests - Playgrounds: ignore node_modules and .git in tree and content APIs; simplify pathInIgnoredDir - Remove debug agent-log fetches from file-mention-dropdown and chat-page - Add theme.spec.ts (getStoredTheme, setStoredTheme, isDark, toggleTheme, initTheme) - Add playgrounds tests for path segment ignore and nested node_modules - Bump version 1.3.8 -> 1.3.9
- Align assistant/streaming message bubbles with input area (bg-card, border-border, shadow-xl shadow-violet-500/5) - Extract ASSISTANT_BUBBLE_CLASSES constant for reuse and consistency - Add unit test: assistant message bubble has card styling - Bump version 1.3.9 -> 1.4.0 (patch was 9, minor bump per convention)
- Extract CORS and frame-ancestors parsing to cors-frame.config.ts - Simplify main.ts with named constants and getCorsOrigin/getFrameAncestors - Add unit tests for getCorsOrigin and getFrameAncestors - Bump patch version to 1.4.1
- Extract constants (LOGO_ALT, EXPLODE_PARTICLE_COUNT, IMG_*_CLASS, PULSE_GLOW_GRADIENT) - Use Array.from for explode particles; trim wrapper className - Add unit tests: img src/alt, idle/hover classes, explode count, mouse leave
…lowercase naming - Replace Phoenix branding with fibe (always lowercase — it's a verb) - SVG wordmark logo with glowing violet pulse orb on the 'i' - Modern violet palette: #7c3aed / #a78bfa accents on clean zinc neutrals - Inter (body) + Instrument Serif (display) typography - CSS variables updated for both light and dark modes - All 797 tests pass BREAKING CHANGE: phoenix-logo.tsx deleted, localStorage keys changed from phoenix-* to fibe-*
…lowercase naming - Replace Phoenix branding with fibe (always lowercase — it's a verb) - SVG wordmark logo with glowing violet pulse orb on the 'i' - Modern violet palette: #7c3aed / #a78bfa accents on clean zinc neutrals - Inter (body) + Instrument Serif (display) typography - CSS variables updated for both light and dark modes - All 797 tests pass BREAKING CHANGE: phoenix-logo.tsx deleted, localStorage keys changed from phoenix-* to fibe-*
…tics - styles.css: refined design tokens, added shadow-elevated/glass, transition timing, tracking vars, modal-enter animation - ui-classes.ts: modal overlay backdrop-blur, frosted modal card, avatar ring separation, softer bubble shadows - chat-settings-modal: fixed readability — frosted glass card, section dividers, scroll safety - chat-header: stronger card bg, softer border, muted session timer - chat-input-area: focus-within glow, rounded send button with scale micro-interaction - message-list: wider message gaps, subtler model metadata - login-page: fewer decorative elements (3 orbs/8 sparkles), elevated card/input/button
…tics - styles.css: refined design tokens, added shadow-elevated/glass, transition timing, tracking vars, modal-enter animation - ui-classes.ts: modal overlay backdrop-blur, frosted modal card, avatar ring separation, softer bubble shadows - chat-settings-modal: fixed readability — frosted glass card, section dividers, scroll safety - chat-header: stronger card bg, softer border, muted session timer - chat-input-area: focus-within glow, rounded send button with scale micro-interaction - message-list: wider message gaps, subtler model metadata - login-page: fewer decorative elements (3 orbs/8 sparkles), elevated card/input/button
- styles.css: refined design tokens, added shadow-elevated/glass, transition timing, tracking vars, modal-enter animation - ui-classes.ts: modal overlay backdrop-blur, frosted modal card, avatar ring separation, softer bubble shadows - chat-settings-modal: fixed readability — frosted glass card, section dividers, scroll safety - chat-header: stronger card bg, softer border, muted session timer - chat-input-area: focus-within glow, rounded send button with scale micro-interaction - message-list: wider message gaps, subtler model metadata - login-page: fewer decorative elements (3 orbs/8 sparkles), elevated card/input/button
- styles.css: refined design tokens, added shadow-elevated/glass, transition timing, tracking vars, modal-enter animation - ui-classes.ts: modal overlay backdrop-blur, frosted modal card, avatar ring separation, softer bubble shadows - chat-settings-modal: fixed readability — frosted glass card, section dividers, scroll safety - chat-header: stronger card bg, softer border, muted session timer - chat-input-area: focus-within glow, rounded send button with scale micro-interaction - message-list: wider message gaps, subtler model metadata - login-page: fewer decorative elements (3 orbs/8 sparkles), elevated card/input/button
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
chore: perf, CI, and structure — v1.8.8